home *** CD-ROM | disk | FTP | other *** search
- #ifndef __GLX_glxint_h__
- #define __GLX_glxint_h__
-
- /* $XFree86: xc/include/GL/glxint.h,v 1.3 2000/11/18 19:37:04 tsi Exp $ */
- /*
- ** The contents of this file are subject to the GLX Public License Version 1.0
- ** (the "License"). You may not use this file except in compliance with the
- ** License. You may obtain a copy of the License at Silicon Graphics, Inc.,
- ** attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043
- ** or at http://www.sgi.com/software/opensource/glx/license.html.
- **
- ** Software distributed under the License is distributed on an "AS IS"
- ** basis. ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY
- ** IMPLIED WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR
- ** PURPOSE OR OF NON- INFRINGEMENT. See the License for the specific
- ** language governing rights and limitations under the License.
- **
- ** The Original Software is GLX version 1.2 source code, released February,
- ** 1999. The developer of the Original Software is Silicon Graphics, Inc.
- ** Those portions of the Subject Software created by Silicon Graphics, Inc.
- ** are Copyright (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved.
- **
- ** $SGI$
- */
-
- #include <X11/X.h>
- #include <X11/Xdefs.h>
- #include "GL/gl.h"
-
- typedef struct __GLXvisualConfigRec __GLXvisualConfig;
- typedef struct __GLXFBConfigRec __GLXFBConfig;
-
- struct __GLXvisualConfigRec {
- VisualID vid;
- int class;
- Bool rgba;
- int redSize, greenSize, blueSize, alphaSize;
- unsigned long redMask, greenMask, blueMask, alphaMask;
- int accumRedSize, accumGreenSize, accumBlueSize, accumAlphaSize;
- Bool doubleBuffer;
- Bool stereo;
- int bufferSize;
- int depthSize;
- int stencilSize;
- int auxBuffers;
- int level;
- /* Start of Extended Visual Properties */
- int visualRating; /* visual_rating extension */
- int transparentPixel; /* visual_info extension */
- /* colors are floats scaled to ints */
- int transparentRed, transparentGreen, transparentBlue, transparentAlpha;
- int transparentIndex;
- int multiSampleSize;
- int nMultiSampleBuffers;
- int visualSelectGroup;
- };
-
- #define __GLX_MIN_CONFIG_PROPS 18
- #define __GLX_MAX_CONFIG_PROPS 500
-
- #define __GLX_EXT_CONFIG_PROPS 10
-
- /*
- ** Since we send all non-core visual properties as token, value pairs,
- ** we require 2 words across the wire. In order to maintain backwards
- ** compatibility, we need to send the total number of words that the
- ** VisualConfigs are sent back in so old libraries can simply "ignore"
- ** the new properties.
- */
- #define __GLX_TOTAL_CONFIG (__GLX_MIN_CONFIG_PROPS + \
- 2 * __GLX_EXT_CONFIG_PROPS)
-
- struct __GLXFBConfigRec {
- int visualType;
- int transparentType;
- /* colors are floats scaled to ints */
- int transparentRed, transparentGreen, transparentBlue, transparentAlpha;
- int transparentIndex;
-
- int visualCaveat;
-
- int associatedVisualId;
- int screen;
-
- int drawableType;
- int renderType;
-
- int maxPbufferWidth, maxPbufferHeight, maxPbufferPixels;
- int optimalPbufferWidth, optimalPbufferHeight; /* for SGIX_pbuffer */
-
- int visualSelectGroup; /* visuals grouped by select priority */
-
- unsigned int id;
-
- GLboolean rgbMode;
- GLboolean colorIndexMode;
- GLboolean doubleBufferMode;
- GLboolean stereoMode;
- GLboolean haveAccumBuffer;
- GLboolean haveDepthBuffer;
- GLboolean haveStencilBuffer;
-
- /* The number of bits present in various buffers */
- GLint accumRedBits, accumGreenBits, accumBlueBits, accumAlphaBits;
- GLint depthBits;
- GLint stencilBits;
- GLint indexBits;
- GLint redBits, greenBits, blueBits, alphaBits;
- GLuint redMask, greenMask, blueMask, alphaMask;
-
- GLuint multiSampleSize; /* Number of samples per pixel (0 if no ms) */
-
- GLuint nMultiSampleBuffers; /* Number of availble ms buffers */
- GLint maxAuxBuffers;
-
- /* frame buffer level */
- GLint level;
-
- /* color ranges (for SGI_color_range) */
- GLboolean extendedRange;
- GLdouble minRed, maxRed;
- GLdouble minGreen, maxGreen;
- GLdouble minBlue, maxBlue;
- GLdouble minAlpha, maxAlpha;
- };
-
- #define __GLX_TOTAL_FBCONFIG_PROPS 35
-
- #endif /* !__GLX_glxint_h__ */
-